import { NextRequest, NextResponse } from 'next/server'; import { prisma } from '@/lib/prisma'; export async function GET( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; const importId = parseInt(id); if (isNaN(importId)) { return NextResponse.json( { error: 'Invalid import ID' }, { status: 400 } ); } // Check if import exists const importRecord = await prisma.import.findUnique({ where: { id: importId } }); if (!importRecord) { return NextResponse.json( { error: 'Import not found' }, { status: 404 } ); } // Get basic summary data const totalRecords = await prisma.cintasInstallCalendar.count({ where: { importId } }); const cintasSummaries = await prisma.cintasSummary.findMany({ where: { importId }, orderBy: { week: 'asc' } }); // Get file info const file = importRecord.fileId ? await prisma.file.findUnique({ where: { id: importRecord.fileId } }) : null; const summary = { totalRecords, totalWeeks: cintasSummaries.length, cintasSummaries: cintasSummaries.map(summary => ({ week: summary.week, trrTotal: summary.trrTotal, fourWkAverages: summary.fourWkAverages, trrPlus4Wk: summary.trrPlus4Wk, powerAdds: summary.powerAdds })) }; return NextResponse.json({ importId, fileName: file?.filename || 'Unknown', uploadDate: importRecord.createdAt, summary }); } catch (error) { console.error('Error fetching import summary:', error); return NextResponse.json( { error: 'Failed to fetch import summary' }, { status: 500 } ); } }